package com.sunyur.tailor.channel.service.inner.budget.service;

import com.sunyur.tailor.channel.common.middle.base.ChannelResult;
import com.sunyur.tailor.channel.service.inner.budget.model.BudgetAuditModel;
import com.sunyur.tailor.channel.service.inner.budget.param.*;
import java.util.List;

public interface SunyurBudgetService {


    /**
     * @Author pengbing
     * @Description //预算单元同步
     * @Date 15:27 2021/5/10
     * @Param [budgetUintParam]
     * @return com.sunyur.tailor.channel.common.middle.base.ChannelResult
     **/
    ChannelResult budgetUnitSync(List<BudgetUintParam> budgetUintParam) throws Exception;


    /**
     * @Author pengbing
     * @Description //预算单元编制结果
     * @Date 16:04 2021/5/10
     * @Param [budgetingParam]
     * @return com.sunyur.tailor.channel.common.middle.base.ChannelResult
     **/
    ChannelResult budgetSync(List<BudgetAuditParam> budgetingParam) throws Exception;


    /**
     * @Author pengbing
     * @Description //预算编制结果批量禁用接口
     * @Date 16:50 2021/5/10
     * @Param [batchSyncBudgetStatusModel]
     * @return com.sunyur.tailor.channel.common.middle.base.ChannelResult
     **/
    ChannelResult batchSyncBudgetStatus(BatchSyncBudgetStatusParam batchSyncBudgetStatusModel) throws Exception;

    /**
     * @Author pengbing
     * @Description //预算编制结果查询接口(批量接口每次20条)
     * @Date 16:34 2021/5/10
     * @Param [batchSyncBudgetQueryModel]
     * @return com.sunyur.tailor.channel.common.middle.base.ChannelListResult<com.sunyur.tailor.channel.service.inner.budget.model.BudgetAuditModel>
     **/
    ChannelResult<List<BudgetAuditModel>> batchQueryBudget(BatchSyncBudgetQueryParam batchSyncBudgetQueryModel) throws Exception;

    /**
     * @Author pengbing
     * @Description //项目预算科目同步
     * @Date 14:38 2021/5/17
     * @Param [reqParamList]
     * @return com.sunyur.tailor.channel.common.middle.base.ChannelResult
     **/
    ChannelResult batchSyncBudgetSubject(List<BatchSyncSubjecBudgetParam> reqParamList) throws Exception;

    /**
     * @Author pengbing
     * @Description  //	同步成本中心基础数据
     * @Date 14:43 2021/5/17
     * @Param [reqParamList]
     * @return com.sunyur.tailor.channel.common.middle.base.ChannelResult
     **/
    ChannelResult batchSyncCostCenter(List<BatchSyncCostCenterParam> reqParamList) throws Exception;

    ChannelResult batchModifyCostCenter(List<BatchSyncCostCenterParam> reqParamList) throws Exception;
}
